package org.tri.entity;

import java.io.Serializable;
import javax.persistence.*;

/**
 * La clase {@code Categoria} engloba las distintas categorias de animales que se pueden vender
 * @author Lucas Giacomazzi
 * @version 1.0, Nov 16, 2011
 */
@Entity
@Table ( name = "categoria" )
public class Categoria implements Serializable {

    /** Identificador único de la categoría. */
    private int idCategoria;
    /** Descripción de la categoría. */
    private String descripcion;

    /**
     * Nos devuelve el identificador de la categoría
     * @return int identificador de la categoría
     */
    @Id
    @GeneratedValue ( strategy = GenerationType.IDENTITY )
    @Column ( name = "id_categoria", nullable = false )
    public int getIdCategoria() {
        return idCategoria;

    }//end método getIdCategoria

    /**
     * Nos permite modificar el identificador de una categoría. Es de uso exclusivo de Hibernate
     * @param id int identificador de la categoría
     */
    protected void setIdCategoria( int id ) {
        idCategoria = id;

    }//end método setIdCategoria

    /**
     * Nos devuelve la descripción de una categoría
     * @return String descripción de la categoría
     */
    @Column ( name = "descripcion", nullable = false )
    public String getDescripcion() {
        return descripcion;

    }//end método getDescripcion

    /**
     * Nos permite modificar la descripción de una categoría. Es de uso exclusivo de Hibernate
     * @param id int identificador de la categoría
     */
    public void setDescripcion( String descripcion ) {
        this.descripcion = descripcion;

    }//end método setDescripcion

    /**
     * Devuelve la representación escrita de esta categoría.
     * @return descripción de la categoría.
     */
    @Override
    public String toString() {
        return getDescripcion();
        
    }//end método toString
    
}//end clase Categoria

